package com.ease.framework {

/**
 * This interface represents the Command role (as it occurs in the Command design pattern)
 * and can optionally be implemented by the application command classes.
 *
 * <p>The interface is optional to implement in that CommandRegistry doesn't require it.
 * A class can serve as a command as long as it has an <code>execute</code> method or any
 * other method that is tagged to be a <code>[RequestHandler]</code>. An application may
 * however still choose to explicitly implement this interface for clarity.
 *
 * @see CommandRegistry
 */
public interface ICommand
{
   /**
    * This method carries out the task that this command represents.
    */
   function execute():void;
}

}